package cn.kgc.javaweb.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @author: mosin
 * @version: v1.0  2022/9/1
 * 登录请求参数的获取
 */
public class LoginServlet extends HttpServlet {

    /**
     * @param req  HttpServletRequest   请求对象 封装的是前端请求参数   对象中可以获取请求参数   请求方式
     * @param resp  HttpServletResponse  响应对象   响应数据到前端页面
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        // 请求的方式如果是post请求  在参数中包含中文 中文会存在乱码问题  get请求不会中文乱码 tomcat8版本之后 对get请求已经做了中文乱码的处理
        //设置请求的编码格式  一定要在获取所有参数之前设置才有效
        req.setCharacterEncoding("UTF-8");

        // 获取前端请求参数 username  password 对应表单中name的值   大写以及拼写要保持完全一致
        String password = req.getParameter("password");
        String username = req.getParameter("username");

        System.out.println("password = " + password);
        System.out.println("username = " + username);

        //  获取请求的方式
        String method = req.getMethod();
        System.out.println("method = " + method);

        //获取资源路径  uri
        String requestURI = req.getRequestURI();
        System.out.println("requestURI = " + requestURI);
        // 获取请求地址  url
        StringBuffer requestURL = req.getRequestURL();
        System.out.println("requestURL = " + requestURL);
        //获取ServletPath
        String servletPath = req.getServletPath();
        System.out.println("servletPath = " + servletPath);

        // TODO 根据用户名和密码进行登录业务处理 连接数据库   待完成的业务代码

        //1.设置响应的格式 html页面
        resp.setContentType("text/html;charset=utf-8");
        // 2.通过响应对象 获取输出流对象 通过流将数据写出带浏览器
        PrintWriter writer = resp.getWriter();
        if("admin".equals(username)&&"123456".equals(password)){
            // 响应数据到前端页面   登录成功  <h1>登录成功</h1>
            writer.write("<h1>登录成功</h1>");
        }else {  // 登录失败
            writer.write("<h1>登录失败</h1>");
            writer.write("<a href='index.html'>重新登录<a>");
        }
        //关闭流 释放资源
        writer.close();
    }
}
